#define _CRT_SECURE_NO_WARNINGS 1
//#include<stdio.h>
//int test()
//{
//	int num = 1;
//	return *(char*)&num;
//	//1的补码为00000000 00000000 00000000 00000001
//	//char*指针 只能访问1个字节即00000001再对该指针解引用即为1.
//}
//int main()
//{
//	int ret = test();
//	if (ret == 1)
//	{
//		printf("小端\n");
//	}
//	else
//	{
//		printf("大端\n");
//	}
//	return 0;
//}

//在屏幕上打印杨辉三角。
//1
//
//1 1
//
//1 2 1
//
//1 3 3 1
//
//1 4 6 4 1

//#include<stdio.h>
//#define ROW 10
//#define COL 10
//int main()
//{
//	//创建二维数组存放数据
//	int arr[ROW][COL] = { 0 };
//	for (int i = 0; i < ROW; i++)
//	{
//		for (int j = 0; j < COL; j++)
//		{
//			//控制打印1
//			if (j == 0 || i == j)
//			{
//				arr[i][j] = 1;
//			}
//			//控制打印中间数据
//			if (i >= 2 && j >= 1)
//			{
//				arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j];
//			}
//		}
//	}
//	//打印二维数组
//	for (int i = 0; i < ROW; i++)
//	{
//		for (int j = 0; j < COL; j++)
//		{
//			printf("%d  ", arr[i][j]);
//			if (i == j)
//			{
//				printf("\n");
//				break;
//			}
//		}
//	}
//	return 0;
//}
//日本某地发生了一件谋杀案，警察通过排查确定杀人凶手必为4个嫌疑犯的一个。
//以下为4个嫌疑犯的供词:
//A说：不是我。
//B说：是C。
//C说：是D。
//D说：C在胡说
//已知3个人说了真话，1个人说的是假话。
//现在请根据这些信息，写一个程序来确定到底谁是凶手。
//#include<stdio.h>
//int main()
//{
//	char killer = 0;
//	//假设遍历凶手，推理话语正确情况符合真话数目的
//	for (killer = 'A'; killer <= 'D'; killer++)
//	{
//		if ((killer != 'A') + (killer == 'C') + (killer == 'D') + (killer != 'D') == 3)
//		{
//			printf("凶手是%c\n", killer);
//		}
//	}
//	return 0;
//}

//5位运动员参加了10米台跳水比赛，有人让他们预测比赛结果：
//A选手说：B第二，我第三；
//B选手说：我第二，E第四；
//C选手说：我第一，D第二；
//D选手说：C最后，我第三；
//E选手说：我第四，A第一；
//比赛结束后，每位选手都说对了一半，请编程确定比赛的名次。
#include<stdio.h>
int main()
{
	int a, b, c, d, e;
	//枚举法列出每种情况
	for (a = 1; a <= 5; a++)
	{
		for (b = 1; b <= 5; b++)
		{
			for (c = 1; c <= 5; c++)
			{
				for (d = 1; d <= 5; d++)
				{
					for (e = 1; e <= 5; e++)
					{
						//判断每位选手都说对了一半
						if ((b == 2) + (a == 3) == 1 && (b == 2) + (e == 4) == 1 && (c == 1) + (d == 2) == 1 && (c == 5) + (d == 3) == 1 && (e == 4) + (a == 1) == 1)
						{
							//确保名次不会重复
							if (a != b && a != c && a != d && a != e && b != c && b != d && b != e && c != d && c != e && d != e)
							{
								printf("比赛名次为>A:%d B:%d C:%d D:%d E:%d", a, b, c, d, e);
							}
						}
					}
				}
			}
		}
	}
	return 0;
}

//int main()
//{
//	int num = 0x22334455;
//	return 0;
//}
//int main()
//{
//    unsigned char a = 200;
//    unsigned char b = 100;
//    unsigned char c = 0;
//    c = a + b;
//    printf("%d %d", a + b, c);
//    return 0;
//}
